package edu.bluebeanforum.service;

import edu.bluebeanforum.model.Article;
import org.apache.ibatis.annotations.Param;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface IArticleService {
    //    发布帖子
    @Transactional
    // 当前方法的执行过程中涉及三个sql的操作，需要使用事务管理一下
    void create(Article article);

    //    查询帖子列表
    List<Article> selectAll();

    //    根据板块id 查询板块内的帖子列表
    List<Article> selectAllByBoardId(Long boardId);

    //    根据帖子id查询详情
    Article selectDetailById(Long id);

//    根据帖子id查询帖子记录
    Article selectById(Long id);

    //编辑帖子
    void modify(Long id,String title,String content);
//   点赞帖子
    void thumbsUpById(Long id);


    //    删除帖子
    @Transactional
    // 当前方法的执行过程中涉及三个sql的操作，需要使用事务管理一下
    void deleteById(Long id);


    //文章回复数+1
    void addOneReplyCountById(Long id);

    //根据用户查询帖子列表
    List<Article> selectByUserId(Long userId);

}
